package com.gosophia.commons.persistence;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * 标识实体类中存储业务主键数据的成员变量。
 * 
 * 此注解标记须标注在属性的访问器方法(getter)上。
 * 如果一个实体类中存在多个带有此标注的成员变量，则视为这些变量共同构成了复合的业务主键。
 * 业务主键将影响所有继承自 <code>AbstractEntity</code>的实体类中的 <code>equals()</code> 
 * 和 <code>hashCode()</code> 方法。
 * 
 * @author zhangtong
 * @since 2010-05-26
 *
 */
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface BusinessKey {

}
